java.lang হল Java-এর সবচেয়ে মৌলিক এবং গুরুত্বপূর্ণ প্যাকেজ। এটি Java Standard Library-এর অংশ এবং automatically imported হয়, অর্থাৎ আপনি যখন Java প্রোগ্রাম লিখেন, তখন আপনাকে import java.lang.*; লাইনটি আলাদাভাবে লিখতে হয় না কারণ এটি স্বয়ংক্রিয়ভাবে লোড হয়ে যায়। এই প্যাকেজে Java এর মৌলিক ক্লাস এবং ইন্টারফেস থাকে, যেমন স্ট্রিং, ম্যাথ, সিস্টেম, থ্রেড ইত্যাদি।
অন্যান্য প্যাকেজ হল Java API-এর অন্যান্য অংশ যা Java প্রোগ্রামিংয়ের বিশেষ বা অতিরিক্ত কাজের জন্য ব্যবহৃত হয়, যেমন java.util, java.io, java.net, ইত্যাদি। এসব প্যাকেজ আপনাকে Java এর অগ্রিম ফিচার এবং লাইব্রেরি সমর্থন করে।
1. java.lang প্যাকেজের বৈশিষ্ট্য
- অটোমেটিক ইম্পোর্ট:
java.langপ্যাকেজের ক্লাসগুলি স্বয়ংক্রিয়ভাবে আপনার প্রোগ্রামে ব্যবহৃত হয়, তাই আপনি আলাদাভাবে এগুলো ইম্পোর্ট করতে হবে না। - প্রাথমিক এবং মৌলিক ক্লাসসমূহ: এটি এমন ক্লাসসমূহ ধারণ করে যা Java প্রোগ্রাম লেখার জন্য অত্যন্ত গুরুত্বপূর্ণ, যেমন
String,Math,System,Thread,Objectইত্যাদি। - ব্যবহারিক ক্লাসসমূহ:
java.langপ্যাকেজের ক্লাসগুলি সাধারনত লো-লেভেল ফিচার প্রদান করে এবং Java-র মৌলিক কার্যাবলী এবং স্ট্যান্ডার্ড ফাংশনালিটিকে সমর্থন করে।
Java.lang প্যাকেজের কিছু গুরুত্বপূর্ণ ক্লাস:
Object: সব ক্লাসের সুপার ক্লাস (Superclass), এটি সকল অবজেক্টের বেস ক্লাস।String: স্ট্রিং সংক্রান্ত কার্যাবলী পরিচালনা করে।Math: গণনা এবং গণিতের কাজের জন্য মেথড প্রদান করে।System: সিস্টেম সংক্রান্ত কাজ যেমন ইনপুট/আউটপুট (I/O), প্রপার্টি ইত্যাদি পরিচালনা করে।Thread: থ্রেড পরিচালনার জন্য ব্যবহৃত হয়।Exception: সব এক্সেপশন ক্লাসের সুপার ক্লাস।
2. অন্যান্য প্যাকেজগুলির বৈশিষ্ট্য
- ইম্পোর্ট করতে হয়: অন্যান্য প্যাকেজের ক্লাস ব্যবহার করার জন্য আপনাকে সেগুলো আলাদাভাবে ইম্পোর্ট করতে হয়।
- বিশেষ কাজের জন্য ব্যবহৃত: অন্যান্য প্যাকেজগুলি বিশেষ ধরনের কাজের জন্য ব্যবহৃত হয়, যেমন ডেটা স্ট্রাকচার (যেমন,
java.util), ইনপুট/আউটপুট অপারেশন (java.io), নেটওয়ার্কিং (java.net) ইত্যাদি।
অন্যান্য প্যাকেজের উদাহরণ:
java.utilপ্যাকেজ:- এটি ডেটা স্ট্রাকচার এবং ইউটিলিটি ক্লাস সমূহ প্রদান করে, যেমন
ArrayList,HashMap,Date,Collectionsইত্যাদি। উদাহরণ:
import java.util.ArrayList; public class Example { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); list.add("Java"); list.add("Python"); System.out.println(list); } }
- এটি ডেটা স্ট্রাকচার এবং ইউটিলিটি ক্লাস সমূহ প্রদান করে, যেমন
java.ioপ্যাকেজ:- এটি ইনপুট/আউটপুট সম্পর্কিত ক্লাস যেমন
File,BufferedReader,PrintWriterপ্রদান করে। উদাহরণ:
import java.io.*; public class FileExample { public static void main(String[] args) throws IOException { FileWriter writer = new FileWriter("output.txt"); writer.write("Hello, World!"); writer.close(); } }
- এটি ইনপুট/আউটপুট সম্পর্কিত ক্লাস যেমন
java.netপ্যাকেজ:- এটি নেটওয়ার্কিং সম্পর্কিত ক্লাস যেমন
Socket,URL,URLConnectionইত্যাদি প্রদান করে। উদাহরণ:
import java.net.*; import java.io.*; public class URLExample { public static void main(String[] args) throws Exception { URL url = new URL("http://example.com"); BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream())); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } } }
- এটি নেটওয়ার্কিং সম্পর্কিত ক্লাস যেমন
3. java.lang এবং অন্যান্য প্যাকেজের মধ্যে পার্থক্য
| Feature | java.lang প্যাকেজ | অন্যান্য প্যাকেজ (যেমন, java.util, java.io, java.net) |
|---|---|---|
| Import Requirement | স্বয়ংক্রিয়ভাবে ইম্পোর্ট করা হয়। | আলাদাভাবে ইম্পোর্ট করতে হয়। |
| Content Type | মৌলিক, স্ট্যান্ডার্ড ক্লাসসমূহ (যেমন, String, Math, System) | বিশেষ উদ্দেশ্য নিয়ে তৈরি ক্লাসসমূহ (যেমন, ArrayList, File, Socket) |
| Purpose | প্রাথমিক কার্যাবলী (যেমন, স্ট্রিং প্রক্রিয়া, গণনা, থ্রেডিং, এক্সেপশন) | বিশেষ ক্ষেত্রের কার্যাবলী (যেমন, ডেটা স্ট্রাকচার, I/O, নেটওয়ার্কিং) |
| Example Classes | String, Math, System, Thread, Object | ArrayList, File, Socket, Date, BufferedReader |
| Use Case | প্রোগ্রামের মৌলিক কার্যক্রম পরিচালনা | আরো নির্দিষ্ট কার্যাবলী যেমন ডেটা স্টোরেজ, নেটওয়ার্কিং ইত্যাদি |
java.langপ্যাকেজ Java প্রোগ্রামের সবচেয়ে মৌলিক প্যাকেজ, যা আপনাকে ডেটা প্রক্রিয়া, গণনা, থ্রেড, এক্সেপশন এবং অন্যান্য মৌলিক কার্যাবলী পরিচালনা করতে সাহায্য করে।- অন্যান্য প্যাকেজগুলি Java-এর বিশেষ কাজের জন্য ব্যবহৃত হয়, যেমন
java.utilডেটা স্ট্রাকচার ম্যানেজমেন্ট,java.ioইনপুট/আউটপুট অপারেশন,java.netনেটওয়ার্কিং ইত্যাদি। java.langপ্যাকেজের ক্লাসগুলো সব Java অ্যাপ্লিকেশনে স্বয়ংক্রিয়ভাবে উপলব্ধ থাকে, অন্য প্যাকেজগুলো ব্যবহার করার জন্য সেগুলি আলাদাভাবে ইম্পোর্ট করতে হয়।
Read more